Skip to content

MAINT: bump minimum Python version from 3.10 to 3.11#655

Open
jorisvandenbossche wants to merge 7 commits into
geopandas:mainfrom
jorisvandenbossche:maint-drop-python-3.10
Open

MAINT: bump minimum Python version from 3.10 to 3.11#655
jorisvandenbossche wants to merge 7 commits into
geopandas:mainfrom
jorisvandenbossche:maint-drop-python-3.10

Conversation

@jorisvandenbossche
Copy link
Copy Markdown
Member

Increasing the required Python version to 3.11, and then we support the last 4 Python versions 3.11 - 3.14.

@jorisvandenbossche
Copy link
Copy Markdown
Member Author

@brendan-ward the last time we bumped to Python 3.10, you preferred to wait until Python 3.9 would be officially EOL (#557 (review)). That would mean waiting until October this year (https://devguide.python.org/versions/).
While that is certainly a good (and clear) criterion, that means in practice we are supporting (and building wheels for) the last 5 python versions, and part of the year (when we start supporting the upcoming python version) temporarily 6 python versions.

I think generally supporting the last 4 Python versions would be good enough (and SPEC 0 from the scientific python ecosystem even goes to the last 3 Python versions)

@theroggy
Copy link
Copy Markdown
Member

theroggy commented Jun 4, 2026

I have a project that depends on pyogrio that will stay stuck to python 3.10 due to complications with another dependency till probably the end of the year.

Even though I don't think the current planned changes in the newest pyogrio version are really super important for that project, if it doesn't take any real extra effort to keep support for python 3.10 for a little while longer I wouldn't mind it if dropping support would be postponed till the end of the year...

@jorisvandenbossche
Copy link
Copy Markdown
Member Author

No problem with waiting longer before merging this PR. To be clear, I don't think it currently costs any human effort to keep Python 3.10 support (I can't remember that we had a CI failure or a code compat issue to resolve because of this). While this was some work to actually remove it ;)

The only actual cost at the moment is the fact that we use more CI resources and more PyPI storage space. And while this is free for us, this is an actual cost for someone else.
PyPI storage is the most relevant I think (and we will have to request an increased storage limit somewhat soon, we are currently at 7.3GB of the 10GB max), but at the same time, the much more significant improvement we can do for this is using the Stable ABI so that we can build only one wheel for all python versions per platform (currently we upload 42 wheels of around 30MB. That could be reduced to 6 wheels, and potentially double with free-threading).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants